#导入基类
from appium import webdriver
#导入强制等待模块
from time import sleep
import os,time

#显示等待的两个模块
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


#创建类名
class Base():

    #定义自动化测试该方法
    def __init__(self):
        os.system('adb root')   #提升权限
        cap={
            "platformName": "Android",
            "deviceName": "emulator-5554",
            "noReset": True,
            "appPackage": "cn.xuexi.android",
            "appActivity": "cn.xuexi.android/com.alibaba.android.rimet.biz.home.activity.HomeActivity"
        }
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',cap)  #增加驱动
        self.driver.implicitly_wait(25)  #隐式等待
        sleep(15)   #强制等待

    #定位元素方法
    def find_ele(self,loc):
        if type(loc) == str:
            return self.driver.find_element_by_android_uiautomator(loc)
        else:
            return self.driver.find_element(*loc)

    #定位显示等待定位元素方法
    def find_wait(self,loc):
        return WebDriverWait(self.driver,15).until(EC.presence_of_element_located(loc))

    #获取元素属性值的方法
    def get_key_value(self,loc,key):
        ele = self.find_ele(loc)
        return ele.get_attribute(key)

    #截屏的方法
    def jieping(self,filename):
        t = time.strftime('%Y%m%d%H%M%S',time.localtime())
        self.driver.save_screenshot(t+filename)

    #轻敲的方法
    def qingqiao(self,x,y):
        self.driver.tap([(x,y)],500)

    #滑动方法
    def huadong(self,x,y,x2,y2):
        self.driver.swipe(x,y,x2,y2,500)

    #退出的方法
    def tuichu(self):
        self.driver.quit()










